import re

# findall 匹配字符串中所有符合正则的内容
# lst = re.findall(r'\d+','我的电话号码是:10086,他的电话号码是:10010')
# print(lst)
#
#
# # finditer 匹配字符串中所有的内容（返回的是迭代器）,从迭代器中拿到的内容需要加.group()
# it = re.finditer(r'\d+','我的电话号码是:10086,他的电话号码是:10010')
# for i in it:
#     print(i.group())

# search返回的结果是match对象，那数据需要.group() 找到数据就返回
s = re.search(r'\d+','我的电话号码是:10086,他的电话号码是:10010')
print(s.group())

# match是从头开始匹配，前面有东西不可以
# t = re.match(r'\d+','我的电话号码是:10086,他的电话号码是:10010')
# print(t.group())

# 预加载正则表达式,可以重复使用
# obj = re.compile(r'\d+')
#
# ret = obj.finditer('我的电话号码是:10086,他的电话号码是:10010')
# for it in ret:
#     print(it.group())


s = """
<div class='jay'><span id='1'>孟德</span></div>
<div class='jane'><span id='2'>玄德</span></div>
<div class='tom'><span id='3'>赵云</span></div>
<div class='mike'><span id='4'>孔明</span></div>
<div class='lucky'><span id='5'>元直</span></div>
"""

# (?P<分组名字>正则表达式) 可以单独从正则匹配的内容中进一步提取内容
obj = re.compile(r"<div class='.*?'><span id='(?P<id>\d+)'>(?P<eson>.*?)</span></div>",re.S) # re.S让.能匹配换行符
result = obj.finditer(s)
for res in result:
    print(res.group('eson'))


















